// 全局声明了一个数据存放验证码 因为剪切板要用
let qjcode = ''
Page({
  data: {
    // 是否显示倒计时 
    countDownVisible: false,
    mobile: '',
    code: ""
  },
  onLoad({
    route
  }) {
    this.setData({
      route
    })
  },
  // 获取当前倒计时信息
  countDownChange(ev) {
    this.setData({
      timeData: ev.detail,
      countDownVisible: ev.detail.seconds > 0 || ev.detail.minutes === 1
    })
  },
  // 手机号封装
  getyz() {
    // 正则条件
    const reg = /^1[3-8]\d{9}$/
    // 接收校验之后的结果
    const vailde = reg.test(this.data.mobile)
    if (!vailde) wx.utils.toast('手机号不合格')
    return vailde
  },
  // 验证码封装
  getyzm() {
    const reg = /\d{6}/
    const vailde = reg.test(this.data.code)
    if (!vailde) wx.utils.toast('验证码不对')
    return vailde
  },
  // 点击获取验证码
  async getCode() {
    // 判断手机号是否验证通过 通过调用接口
    if (!this.getyz()) return
    const {
      code,
      data
    } = await wx.http.get('/code', {
      mobile: this.data.mobile
    })
    if (code !== 10000) return wx.utils.toast()
    wx.utils.toast('验证获取成功')
    // 吧验证码赋值给 参数
    qjcode = data.code
    // console.log(res);
    // 开始倒计时
    this.setData({
      countDownVisible: true
    })
  },
  // 点击登入的函数方法
  async submit() {
    // 封装好的验证码 判断 如果没有通过直接return
    if (!this.getyz()) return
    if (!this.getyzm()) return
    // 登入接口 反回值是token 和 刷新token
    const {
      code,
      data
    } = await wx.http.post('/login', {
      mobile: this.data.mobile,
      code: this.data.code
    })
    if (code !== 10000) return wx.utils.toast()
    // 自己在app.js封装的公共方法 里面 存放 token
    getApp().setToken(data.token, data.refreshToken)
    // 路由跳转 返回时删除上一个路由  onlode上面接收到了路径传参的参数
    wx.redirectTo({
      url: this.data.route,
    })

  },
  // 点击那个文字的方法
  getCodes() {
    // 剪切板里面存放字符串
    wx.setClipboardData({
      data: qjcode
    })
  }
})